package cn.tedu.ivos.base.security;

import lombok.Data;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.Collection;
import java.util.Set;

@Data
public class CustomUserDetails  implements UserDetails {
    //用户Id
    private Long userId;
    //用户名
    private String username;
    //用户密码
    private String password;
    // 用户权限结合
    private Set<? extends GrantedAuthority> authorities;



    //判断用户的账户是否未过期 返回true则表示永不过期
    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    //判断用户是否被锁定
    //返回true,则表示招呼永不锁定
    @Override
    public boolean isAccountNonLocked() {
        return true;
    }

    /*
    * 判断用户的凭证是否未过期
    * 如果 return true,则表示凭证永不过期
    * */
    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }

    /*
    * 判断用户是否被启用
    * 返回为true 则表示用户总是启用状态
    * */
    @Override
    public boolean isEnabled() {
        return true;
    }
}
